<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>

        //字符串对象    基本包装类型
        //查找字符串中某个元素出现的位置和次数
        //1.  根据字符返回位置
        let str = "qoedofhuoppndhobd";
        let index = str.indexOf('o');
        console.log(index);
        console.log('-------------------------------------------indexOf()--------------------');
        let num = 0;
        while (index != -1) {
            console.log(index);
            index = str.indexOf('o', index + 1);
            num++;
        }
        console.log('o出现的次数是' + num);
        console.log('------------------------------------------------------------------------');


        //2.  根据位置返回字符***   charAt(index)
        let str1 = 'andy';
        console.log(str1.charAt(3));    //下标为3的字符
        console.log('-------------------------------------------------------charAt()---------------------');
        for (let i = 0; i < str1.length; i++) {   //遍历所有字符
            console.log(str1.charAt(i));
        }
        //3. charCodeAt(index) 获取指定位置的字符的ASCII码（index索引号）
        console.log(str.charCodeAt(0));
        //4. str[index] 获取指定位置字符  
        console.log(str[0]);


        //5. 判断一个字符串中出现次数最多的字符，并统计其次数
        let str2 = 'qoedofhuoppndhobd';
        let o = {};
        for (let i = 0; i < str2.length; i++) {
            let chars = str.charAt(i);
            if (o[chars]) {    //o[chars]得到的属性值
                o[chars]++;
            } else {
                o[chars] = 1;
            }
        }
        console.log(o);
        //遍历对象
        var max = 0;
        var ch = '';
        for (let k in o) {
            //k得到的是属性名
            //o[k]得到的是属性值
            if (o[k] > max) {
                max = o[k];
                ch = k;
            }
        }
        console.log(max);
        console.log('最多的字符是' + ch);



        //concat(str1,str2,str3...)  用于连接多个字符  但是+更常用
        //substr(start,length)  从start位置开始（索引号）length：取的个数***
        //slice(start，end) 从start开始截取到end，end取不到
        //substring(start,end)  同上slice，但是不接受负值


        //替换字符串
        var str4 = 'aohdobbpoppkjjho';
        console.log(str4.replace('a', '1'));  //只会把第一个o替换掉
        //如果要替换掉所有的o的话
        var str5 = 'aohdobbpoppkjjho';
        while (str5.indexOf('o') !== -1) {
            str5 = str5.replace('o', '0');
            //break;
        }
        console.log(str5);



        //将字符转换为数组
        var str6 = 'red,pink,blue';
        console.log(str6.split(',')); //转换为数组，用逗号隔开
        var str7 = 'red&pink&blue';
        console.log(str7.split('&'));




        //转换大写
        var str8 = 'aaa';
        console.log(str8.toUpperCase('a'));
        var str9 = 'BBB';
        console.log(str9.toLowerCase('B'));
    </script>
</head>

<body>

</body>

</html>